package cn.edu.xjtu.work.findComplement;

/**
 * 476. 数字的补数
 * 
 * 给你一个 正 整数 num ，输出它的补数。补数是对该数的二进制表示取反。
 */
public class Solution {
    public static void main(String[] args) {
        Solution solu = new Solution();
        System.out.println(solu.findComplement(2));
    }

    public int findComplement(int num) {
        int res = 0;
        int i = 0;
        while (num > 0) {
            res = res + (int) Math.pow(2, i) * ((num % 2) == 1 ? 0 : 1);
            num /= 2;
            i++;
        }
        return res;
    }
}
